package com.greenold.Balance.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.greenold.common.annotation.Excel;
import com.greenold.common.core.domain.BaseEntity;

/**
 * 余额查询对象 balance
 * 
 * @author ruoyi
 * @date 2025-10-14
 */
@Data
@AllArgsConstructor

@NoArgsConstructor
public class Balance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Integer id;

    /** 老人姓名 */
    @Excel(name = "老人姓名")
    private String elderId;
    /** 床位号 */
    @Excel(name = "床位号")
    private String bedNo;

    /** 预交款余额（元） */
    @Excel(name = "预交款余额", readConverterExp = "元=")
    private BigDecimal prepaidBalance;

    /** 押金金额（元 */
    @Excel(name = "押金金额", readConverterExp = "押金金额（元")
    private BigDecimal depositAmount;

    /** 变动时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "变动时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 欠费金额（元） */
    private BigDecimal arrearsAmount;

    /** 支付截止时间 */
    private Date paymentDeadline;

    /** 状态（0：正常，1：退住，2：入住未缴押金） */
    private String status;

    /** 老人姓名 */
    private String elderName;

    /** $column.columnComment */
    private Date createdAt;

    /** 创建人 id */
    private String createdBy;

    /** 更新人 id */
    private String updatedBy;

    /** 扩展字段1 */
    private String extend1;

    /** 扩展字段2 */
    private String extend2;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }

    public void setElderId(String elderId) 
    {
        this.elderId = elderId;
    }

    public String getElderId() 
    {
        return elderId;
    }

    public void setBedNo(String bedNo) 
    {
        this.bedNo = bedNo;
    }

    public String getBedNo() 
    {
        return bedNo;
    }

    public void setPrepaidBalance(BigDecimal prepaidBalance) 
    {
        this.prepaidBalance = prepaidBalance;
    }

    public BigDecimal getPrepaidBalance() 
    {
        return prepaidBalance;
    }

    public void setDepositAmount(BigDecimal depositAmount) 
    {
        this.depositAmount = depositAmount;
    }

    public BigDecimal getDepositAmount() 
    {
        return depositAmount;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setArrearsAmount(BigDecimal arrearsAmount) 
    {
        this.arrearsAmount = arrearsAmount;
    }

    public BigDecimal getArrearsAmount() 
    {
        return arrearsAmount;
    }

    public void setPaymentDeadline(Date paymentDeadline) 
    {
        this.paymentDeadline = paymentDeadline;
    }

    public Date getPaymentDeadline() 
    {
        return paymentDeadline;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setElderName(String elderName) 
    {
        this.elderName = elderName;
    }

    public String getElderName() 
    {
        return elderName;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setExtend1(String extend1) 
    {
        this.extend1 = extend1;
    }

    public String getExtend1() 
    {
        return extend1;
    }

    public void setExtend2(String extend2) 
    {
        this.extend2 = extend2;
    }

    public String getExtend2() 
    {
        return extend2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("elderId", getElderId())
            .append("bedNo", getBedNo())
            .append("prepaidBalance", getPrepaidBalance())
            .append("depositAmount", getDepositAmount())
            .append("updatedAt", getUpdatedAt())
            .append("arrearsAmount", getArrearsAmount())
            .append("paymentDeadline", getPaymentDeadline())
            .append("status", getStatus())
            .append("elderName", getElderName())
            .append("createdAt", getCreatedAt())
            .append("createdBy", getCreatedBy())
            .append("updatedBy", getUpdatedBy())
            .append("remark", getRemark())
            .append("extend1", getExtend1())
            .append("extend2", getExtend2())
            .toString();
    }
}
